package com.yanqu.road.logic.config;

import com.yanqu.road.logic.bussiness.config.ConfigBussiness;
import com.yanqu.road.logic.helper.CrossChannelHelper;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.HashMap;

public class ChannelConfig {

    private static final Logger logger = LogManager.getLogger(ChannelConfig.class.getName());

    @ConfigPropertyAnnotation(key = "BEAUTY_UNDRESS",description = "美女脱衣功能开关（0：不脱；1：脱），默认开",type = Integer.class,defaultValue = "1")
    public static Integer BEAUTY_UNDRESS;

    @ConfigPropertyAnnotation(key = "LOCATION_OPEN",description = "定位功能开关",type = Integer.class,defaultValue = "1")
    public static Integer LOCATION_OPEN;

    @ConfigPropertyAnnotation(key = "THIRD_PARTY_RECHARGE_MARK",description = "第三方充值标识，0：不返回；1：只返回元宝、特权卡；2：可以加上活动类礼包；3：全部",type = Integer.class,defaultValue = "1")
    public static Integer THIRD_PARTY_RECHARGE_MARK;

    @ConfigPropertyAnnotation(key = "LOG_UPLOAD",description = "是否上传日志默认关闭",type = Integer.class,defaultValue = "0")
    public static Integer LOG_UPLOAD;

    @ConfigPropertyAnnotation(key = "SHOW_GOOD_BAG_RATE",description = "是否展示概率,默认关闭",type = Integer.class,defaultValue = "0")
    public static Integer SHOW_GOOD_BAG_RATE;

    @ConfigPropertyAnnotation(key = "SETTING_SWITCH", description = "设置开关（0屏蔽，1开启），默认屏蔽，二进制值从右往左对应：位置、VIP、语言、兑换码、高清资源", type = Long.class, defaultValue = "0")
    public static Long SETTING_SWITCH;

    @ConfigPropertyAnnotation(key = "USER_DEFAULT_SETTING", description = "新用户默认设置（0显示，1隐藏），默认显示，二进制值从右往左对应：位置、VIP", type = Integer.class, defaultValue = "0")
    public static Integer USER_DEFAULT_SETTING;

    @ConfigPropertyAnnotation(key = "OPEN_CLIENT_MSG_PUSH", description = "0关闭1开启 默认关闭", type = String.class, defaultValue = "8-22;0")
    public static String OPEN_CLIENT_MSG_PUSH;

    @ConfigPropertyAnnotation(key = "YJXM_LINKAGE_SWITCH", description = "遇见小面联动开关(0关闭1开启)", type = Integer.class, defaultValue = "0")
    public static int YJXM_LINKAGE_SWITCH;

    @ConfigPropertyAnnotation(key = "WAI_GUA_FORBIDDEN_TIME", description = "外挂封号时长", type = Integer.class, defaultValue = "0")
    public static int WAI_GUA_FORBIDDEN_TIME;

    @ConfigPropertyAnnotation(key = "AUTO_SEND_CROSS_RANK_REWARD_SWITCH", description = "跨服榜单自动发奖开关（0关闭1开启）默认关闭", type = Integer.class, defaultValue = "0")
    public static int AUTO_SEND_CROSS_RANK_REWARD_SWITCH;

    @ConfigPropertyAnnotation(key = "AUTO_SEND_CROSS_RANK_REWARD_SERVER_PARAM", description = "跨服榜单自动发奖区服参数", type = String.class, defaultValue = "0|99900047;99900074")
    public static String AUTO_SEND_CROSS_RANK_REWARD_SERVER_PARAM;

    @ConfigPropertyAnnotation(key = "AUTO_SEND_CROSS_RANK_REWARD_ACTIVITY_PARAM", description = "跨服榜单自动发奖活动参数", type = String.class, defaultValue = "0|12;33;34;44")
    public static String AUTO_SEND_CROSS_RANK_REWARD_ACTIVITY_PARAM;

    @ConfigPropertyAnnotation(key = "CHANNEL_CENTER_DB_PARAM", description = "跨地区中心库连接参数，IP|端口|库名|用户名|密码", type = String.class, defaultValue = "0")
    public static String CHANNEL_CENTER_DB_PARAM;

    @ConfigPropertyAnnotation(key = "CROSS_CHANNEL_TEST_PARAM", description = "CrossChannelHelper", type = String.class, defaultValue = "0")
    public static String CROSS_CHANNEL_TEST_PARAM; // 格式：1|1-99900046-999000462|2-999000462-10046

    @ConfigPropertyAnnotation(key = "CHANNEL_ACTIVITY_CROSS_SERVER_ID", description = "跨地区专用跨服ID", type = Long.class, defaultValue = "99900027")
    public static long CHANNEL_ACTIVITY_CROSS_SERVER_ID;

    @ConfigPropertyAnnotation(key = "FORBIDDEN_IP_PARAM", description = "敏感IP开关 开关|接口地址", type = String.class, defaultValue = "0|http://10.9.5.75:7000/ipcheck")
    public static String FORBIDDEN_IP_PARAM;

    @ConfigPropertyAnnotation(key = "CHECK_WEBSOCKET", description = "websocket检查", type = Integer.class, defaultValue = "0")
    public static int CHECK_WEBSOCKET;

    @ConfigPropertyAnnotation(key = "YJSY_LINKAGE_SWITCH", description = "阳际山野联动开关(0关闭1开启)", type = Integer.class, defaultValue = "0")
    public static int YJSY_LINKAGE_SWITCH;

    @ConfigPropertyAnnotation(key = "CPS_LINKAGE_SWITCH", description = "脆脆鲨客栈联动开关(0关闭1开启)", type = Integer.class, defaultValue = "0")
    public static int CPS_LINKAGE_SWITCH;
    @ConfigPropertyAnnotation(key = "CPS_LINKAGE_SWITCH_REVIEW", description = "脆脆鲨客栈联动开关(0关闭1开启,提审服用)", type = Integer.class, defaultValue = "0")
    public static int CPS_LINKAGE_SWITCH_REVIEW;

    @ConfigPropertyAnnotation(key = "CN_FORBIDDEN_WORD_CHECK", description = "大陆敏感词及时检测（0关闭，1开启，默认开启）", type = Integer.class, defaultValue = "1")
    public static int CN_FORBIDDEN_WORD_CHECK;
    @ConfigPropertyAnnotation(key = "CN_FORBIDDEN_WORD_CHECK_SOCKET_TIME_OUT",description = "数据传输超时",type = Integer.class,defaultValue = "1000")
    public static int CN_FORBIDDEN_WORD_CHECK_SOCKET_TIME_OUT;
    @ConfigPropertyAnnotation(key = "CN_FORBIDDEN_WORD_CHECK_CONNECT_TIME_OUT",description = "建立连接3次握手超时时间",type = Integer.class,defaultValue = "300")
    public static int CN_FORBIDDEN_WORD_CHECK_CONNECT_TIME_OUT;
    @ConfigPropertyAnnotation(key = "CN_FORBIDDEN_WORD_CHECK_CONNECT_REQUEST_TIME_OUT",description = "连接池获取连接超时时间",type = Integer.class,defaultValue = "100")
    public static int CN_FORBIDDEN_WORD_CHECK_CONNECT_REQUEST_TIME_OUT;

    @ConfigPropertyAnnotation(key = "EXPRESSION_SHIELDING",description = "表情屏蔽类型",type = String.class,defaultValue = "")
    public static String EXPRESSION_SHIELDING;

    @ConfigPropertyAnnotation(key = "CHAT_LIMIT_SWITCH", description = "聊天限制开关，0：关；1：开，默认关", type = Integer.class, defaultValue = "0")
    public static int CHAT_LIMIT_SWITCH;

    @ConfigPropertyAnnotation(key = "CUSTOMER_BUTTON_SHOW", description = "客服按钮显示，0：隐藏；1：显示，默认隐藏", type = Integer.class, defaultValue = "0")
    public static int CUSTOMER_BUTTON_SHOW;

    @ConfigPropertyAnnotation(key = "VEHICLE_RECYCLE_LOCK", description = "珍兽放归加锁(0关闭1开启)", type = Integer.class, defaultValue = "0")
    public static int VEHICLE_RECYCLE_LOCK;

    @ConfigPropertyAnnotation(key = "BUILDING_SKIN_SWITCH", description = "商铺皮肤选择开关", type = Integer.class, defaultValue = "0")
    public static int BUILDING_SKIN_SWITCH;
    @ConfigPropertyAnnotation(key = "BUILDING_SKIN_SWITCH_REVIEW", description = "商铺皮肤选择开关(提审服用)", type = Integer.class, defaultValue = "0")
    public static int BUILDING_SKIN_SWITCH_REVIEW;

    @ConfigPropertyAnnotation(key = "SHOU_Q_COUPON_REWARD", description = "手Q卡券奖励道具", type = Integer.class, defaultValue = "1000000204")
    public static int SHOU_Q_COUPON_REWARD;

    @ConfigPropertyAnnotation(key = "CHANNEL_ACTIVITY_TIME_ZONE", description = "跨域活动时区，-12到14表示时区，其余（比如配100）表示用自己时区", type = Integer.class, defaultValue = "100")
    public static int CHANNEL_ACTIVITY_TIME_ZONE = 100; // 跨域没有重新加载这个类，直接读这里的100

    @ConfigPropertyAnnotation(key = "MINI_GAME_AD_REWARD_SWITCH", description = "开局小游戏广告奖励开关（默认开），0：表示关，1：表示开", type = Integer.class, defaultValue = "1")
    public static int MINI_GAME_AD_REWARD_SWITCH;

    @ConfigPropertyAnnotation(key = "CN_ROLE_UNION_REPORT_SWITCH", description = "国服角色，商会上报开关，0：表示关，1：表示开，默认开", type = Integer.class, defaultValue = "1")
    public static int CN_ROLE_UNION_REPORT_SWITCH;

    @ConfigPropertyAnnotation(key = "WEEK_CARD_SWITCH", description = "周卡开关，0：表示关，1：表示开，默认关", type = Integer.class, defaultValue = "0")
    public static int WEEK_CARD_SWITCH;

    @ConfigPropertyAnnotation(key = "CAN_NO_TRIGGER_ACTIVITY_OLD_PLAYER_RETURN_TIME", description = "时间段不给触发回归玩家",type = String.class,defaultValue = "0")
    public static String CAN_NO_TRIGGER_ACTIVITY_OLD_PLAYER_RETURN_TIME;

    @ConfigPropertyAnnotation(key = "FORCE_RESET_RETURN_TIME", description = "强制重置回归时间 玩家在此时间点之前的回归会被重置",type = Long.class,defaultValue = "0")
    public static Long FORCE_RESET_RETURN_TIME;

    @ConfigPropertyAnnotation(key = "RECALL_PLAY_DISPLAY_QR_CODE_TYPE",description = "汴梁达人是否展示二维码,0不展示,1为展示 默认1",type = Integer.class,defaultValue = "1")
    public static int RECALL_PLAY_DISPLAY_QR_CODE;

    @ConfigPropertyAnnotation(key = "RECALL_PLAYER_QR_CODE",description = "汴梁达人召回海报二维码",type = String.class,defaultValue = "")
    public static String RECALL_PLAYER_QR_CODE;

    @ConfigPropertyAnnotation(key = "NEW_YEAR_BAG_DISPLAY_QR_CODE",description = "春节红包是否展示二维码,0不展示,1为展示 默认1", type = Integer.class, defaultValue = "1")
    public static int NEW_YEAR_BAG_DISPLAY_QR_CODE;

    @ConfigPropertyAnnotation(key = "NEW_YEAR_BAG_SHARE_QR_CODE",description = "春节红包分享二维码", type = String.class, defaultValue = "")
    public static String NEW_YEAR_BAG_SHARE_QR_CODE;

    @ConfigPropertyAnnotation(key = "NEW_YEAR_BAG_SWITCH",description = "春节红包-开关", type = Integer.class, defaultValue = "1")
    public static int NEW_YEAR_BAG_SWITCH;

    @ConfigPropertyAnnotation(key = "RECOVERY_REWARD_SYSTEM_SWITCH", description = "找回奖励系统开关 0表示关,1表示开,默认开",type = Integer.class,defaultValue = "1")
    public static int RECOVERY_REWARD_SYSTEM_SWITCH;

//    @ConfigPropertyAnnotation(key = "COUPON_REPORT_URL", description = "代金券上报地址",type = String.class,defaultValue = "http://datain.0qit4.com/api/v1/gn/yf/scf/voucher_attribute?apikey=173a0859c0fec6f24beba95395f564a9")
//    public static String COUPON_REPORT_URL;
    @ConfigPropertyAnnotation(key = "COUPON_REPORT_URL", description = "代金券上报地址",type = String.class,defaultValue = "")
    public static String COUPON_REPORT_URL;
    @ConfigPropertyAnnotation(key = "COUPON_ONLY_ONE_SWITCH", description = "代金券同类型只存在一个开关，0：关；1：开，默认开",type = Integer.class,defaultValue = "1")
    public static int COUPON_ONLY_ONE_SWITCH;
    @ConfigPropertyAnnotation(key = "COUPON_REPORT_URL_API_KEY", description = "代金券上报地址apiKey",type = String.class,defaultValue = "173a0859c0fec6f24beba95395f564a9")
    public static String COUPON_REPORT_URL_API_KEY;

    @ConfigPropertyAnnotation(key = "WEICHAT_ACCESS_TOKEN_URL", description = "获取微信凭证",type = String.class,defaultValue = "https://apipay.shxnetwork.com/paygate.php?c=wxmp&a=wx_tk")
    public static String WEICHAT_ACCESS_TOKEN_URL;
    @ConfigPropertyAnnotation(key = "WEICHAT_SUBSCRIBE_TEMPLATE_URL", description = "获取订阅模板接口",type = String.class,defaultValue = "https://api.weixin.qq.com/wxaapi/newtmpl/gettemplate")
    public static String WEICHAT_SUBSCRIBE_TEMPLATE_URL;
    @ConfigPropertyAnnotation(key = "WEICHAT_SEND_NOTICE_URL", description = "发消息接口",type = String.class,defaultValue = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=")
    public static String WEICHAT_SEND_NOTICE_URL;
    @ConfigPropertyAnnotation(key = "WEIXIN_SEND_NOTICE_URL", description = "微信发消息接口",type = String.class,
            defaultValue = "https://gapih5.37.com/api/v1/wx/subscribeMessageSend")
    public static String WEIXIN_SEND_NOTICE_URL;
    @ConfigPropertyAnnotation(key = "DOUYIN_SEND_NOTICE_URL", description = "抖音发消息接口",type = String.class,defaultValue = "https://gapih5.37.com/api/v1/dy/templateMessageSend")
    public static String DOUYIN_SEND_NOTICE_URL;
    @ConfigPropertyAnnotation(key = "DOUYIN_SEND_NOTICE_URL", description = "支付宝发消息接口",type = String.class,defaultValue = "https://gapih5.37.com/api/v1/zfb/templateMessageSend")
    public static String ZHIFUBAO_SEND_NOTICE_URL;
    @ConfigPropertyAnnotation(key = "WEICHAT_TOKEN_KEY", description = "凭证秘钥",type = String.class,defaultValue = "2PNpY6u80b5BivyoMthW9aVUlrFj1z4Q")
    public static String WEICHAT_TOKEN_KEY;
    @ConfigPropertyAnnotation(key = "OFFLINE_REWARD_TIME", description = "离线收益时间秒",type = Long.class,defaultValue = "86400")
    public static Long OFFLINE_REWARD_TIME;

    @ConfigPropertyAnnotation(key = "DOUYIN_SCENE_CARD_SWITCH", description = "抖音场景卡开关",type = Integer.class,defaultValue = "0")
    public static int DOUYIN_SCENE_CARD_SWITCH;

    @ConfigPropertyAnnotation(key = "HONGKONG_WIND_OPEN", description = "港风彩蛋开关 0表示关,1表示开,默认关",type = Integer.class,defaultValue = "0")
    public static int HONGKONG_WIND_OPEN;
    @ConfigPropertyAnnotation(key = "HONGKONG_WIND_OPEN_REVIEW", description = "港风彩蛋开关 0表示关,1表示开,默认关(提审服用)",type = Integer.class,defaultValue = "0")
    public static int HONGKONG_WIND_OPEN_REVIEW;

    @ConfigPropertyAnnotation(key = "SERVER_DISPERSE_GOLD_OPEN_DAY", description = "区服散财接收开启天数",type = Integer.class,defaultValue = "15")
    public static int SERVER_DISPERSE_GOLD_OPEN_DAY;

    @ConfigPropertyAnnotation(key = "DESTROY_ROLE_SWITCH", description = "注销角色开关，0：关；1：开，默认关",type = Integer.class,defaultValue = "0")
    public static int DESTROY_ROLE_SWITCH;

    @ConfigPropertyAnnotation(key = "LIN_LEE_LINKAGE_SWITCH", description = "Linlee茶联动开关，0：关；1：开，默认关",type = Integer.class,defaultValue = "0")
    public static int LIN_LEE_LINKAGE_SWITCH;
    @ConfigPropertyAnnotation(key = "LIN_LEE_LINKAGE_SWITCH_REVIEW", description = "Linlee茶联动开关，0：关；1：开，默认关",type = Integer.class,defaultValue = "0")
    public static int LIN_LEE_LINKAGE_SWITCH_REVIEW;

    @ConfigPropertyAnnotation(key = "NOW_WA_LINKAGE_SWITCH", description = "NOWWA咖啡联动开关，0：关；1：开，默认关",type = Integer.class,defaultValue = "0")
    public static int NOW_WA_LINKAGE_SWITCH;
    @ConfigPropertyAnnotation(key = "NOW_WA_LINKAGE_SWITCH_REVIEW", description = "NOWWA咖啡联动开关，0：关；1：开，默认关(提审服用)",type = Integer.class,defaultValue = "0")
    public static int NOW_WA_LINKAGE_SWITCH_REVIEW;

    @ConfigPropertyAnnotation(key = "SPECIAL_COOK_BOY_DISPLAY_QR_CODE_TYPE",description = "小当家特色服是否展示二维码,0不展示,1为展示 默认1",type = Integer.class,defaultValue = "1")
    public static int SPECIAL_COOK_BOY_DISPLAY_QR_CODE_TYPE;

    @ConfigPropertyAnnotation(key = "SPECIAL_COOK_BOY_QR_CODE",description = "小当家特色服召回海报二维码",type = String.class,defaultValue = "")
    public static String SPECIAL_COOK_BOY_QR_CODE;

    @ConfigPropertyAnnotation(key = "NEED_WATCH_ADVERSITY_CHANNEL",description = "需要看广告的渠道,appid1|appid2",type = String.class,defaultValue = "37wxxyx")
    public static String NEED_WATCH_ADVERSITY_CHANNEL;
    @ConfigPropertyAnnotation(key = "APP_CHANNEL_APPID",description = "混服后APP渠道的appid",type = String.class,defaultValue = "37h5;37h5_cn;devh5;dy;hy;iOS;iOSx")
    public static String APP_CHANNEL_APPID;

    @ConfigPropertyAnnotation(key = "TONG_BAO_BUY_SWITCH",description = "通宝购买开关,0为关,1为开,默认开",type = Integer.class,defaultValue = "0")
    public static int TONG_BAO_BUY_SWITCH;

    @ConfigPropertyAnnotation(key = "TONG_BAO_BUY_VIP_LIMIT",description = "通宝购买vip限制",type = Integer.class,defaultValue = "5")
    public static int TONG_BAO_BUY_VIP_LIMIT;


    @ConfigPropertyAnnotation(key = "APP_LOGIN_VERIFY_URL",description = "混服后APP登录验证地址",type = String.class,defaultValue = "https://open-zhbackend.ngty556.com/user/verifyAccount")
    public static String APP_LOGIN_VERIFY_URL;

    @ConfigPropertyAnnotation(key = "APP_SECRET_CONFIG",description = "混服后AppSecret",type = String.class,defaultValue = "8820f66327ff27f1d412b5c2dde76d6d")
    public static String APP_SECRET_CONFIG;

    @ConfigPropertyAnnotation(key = "DAOMU_SERVER_CHECK_SWHITCH", description = "盗墓服务端检验开关", type = Integer.class, defaultValue = "0")
    public static int DAOMU_SERVER_CHECK_SWHITCH;

    @ConfigPropertyAnnotation(key = "USER_SLIVER_LOG_SWITCH", description = "玩家银两变动是否需要日志,0为不需要,1为需要,默认1", type = Integer.class, defaultValue = "1")
    public static int USER_SLIVER_LOG_SWITCH;


    @ConfigPropertyAnnotation(key = "HALLOWEEN_THEME_OPEN_SWITCH", description = "万圣节主题开关 0为关 1为开 默认关", type = Integer.class, defaultValue = "0")
    public static int HALLOWEEN_THEME_OPEN_SWITCH;
    @ConfigPropertyAnnotation(key = "HALLOWEEN_THEME_OPEN_SWITCH_REVIEW", description = "万圣节主题开关 0为关 1为开 默认关(提审服用)", type = Integer.class, defaultValue = "0")
    public static int HALLOWEEN_THEME_OPEN_SWITCH_REVIEW;

    @ConfigPropertyAnnotation(key = "WX_BIND_PLATFORM_GAME_ID", description = "需要绑定角色的平台gameId,格式appId=gameId|appId=gameId", type = String.class, defaultValue = "37h5=690")
    public static String WX_BIND_PLATFORM_GAME_ID;
    @ConfigPropertyAnnotation(key = "WX_BIND_CODE_VALID_MINUTE", description = "绑定码几分钟内有效", type = Integer.class, defaultValue = "5")
    public static int WX_BIND_CODE_VALID_MINUTE;
    @ConfigPropertyAnnotation(key = "WX_BIND_CODE_VALID_NUM_IN_24HOUR", description = "绑定码24小时内只能生成10次", type = Integer.class, defaultValue = "10")
    public static int WX_BIND_CODE_VALID_NUM_IN_24HOUR;
    @ConfigPropertyAnnotation(key = "WX_CHECK_BIND_STATUS_URL",description = "查询微信绑定状态接口",type = String.class,defaultValue = "http://test-commonwechat.37.com/?c=miniprogram-zghd&a=checkWxBindStatus")
    public static String WX_CHECK_BIND_STATUS_URL;
    @ConfigPropertyAnnotation(key = "WX_CANCEL_BIND_URL",description = "取消微信绑定接口",type = String.class,defaultValue = "http://test-commonwechat.37.com/?c=miniprogram-zghd&a=unbindAccountInGame")
    public static String WX_CANCEL_BIND_URL;
    @ConfigPropertyAnnotation(key = "WX_BIND_SECRET",description = "微信绑定码加密密钥",type = String.class,defaultValue = "u!8NvKm7kbY+M6Ae")
    public static String WX_BIND_CODE_SECRET;
    @ConfigPropertyAnnotation(key = "WX_BIND_INTERFACE_SECRET",description = "微信绑定查询和取消密钥",type = String.class,defaultValue = "uYkaSTQ#iddA6jt+Knu")
    public static String WX_BIND_INTERFACE_SECRET;
    @ConfigPropertyAnnotation(key = "WX_BIND_EXPOSITORY",description = "微信绑定说明",type = String.class,defaultValue = "微信绑定说明")
    public static String WX_BIND_EXPOSITORY;
    @ConfigPropertyAnnotation(key = "WX_BIND_IS_OPEN",description = "微信绑定角色开关, 1开 0关",type = String.class,defaultValue = "0")
    public static String WX_BIND_IS_OPEN;

    @ConfigPropertyAnnotation(key = "PLATFORM_USER_DATA_REPORT_URL", description = "角色基础数据上报地址",type = String.class,defaultValue = "")
    public static String PLATFORM_USER_DATA_REPORT_URL;
    @ConfigPropertyAnnotation(key = "PLATFORM_USER_DATA_REPORT_URL_API_KEY", description = "代金券上报地址apiKey",type = String.class,defaultValue = "")
    public static String PLATFORM_USER_DATA_REPORT_URL_API_KEY;

    @ConfigPropertyAnnotation(key = "ZJ_DEER_LINKAGE_SWITCH", description = "珠江啤酒联动开关 1：第一阶段，2：第二阶段，3：第三阶段，其他：关闭",type = Integer.class,defaultValue = "0")
    public static int ZJ_DEER_LINKAGE_SWITCH;
    @ConfigPropertyAnnotation(key = "ZJ_DEER_LINKAGE_SWITCH_REVIEW", description = "珠江啤酒联动开关 1：第一阶段，2：第二阶段，3：第三阶段，其他：关闭(提审服用)",type = Integer.class,defaultValue = "0")
    public static int ZJ_DEER_LINKAGE_SWITCH_REVIEW;

    @ConfigPropertyAnnotation(key = "LOGIN_SEND_URL",description = "混服后APP转发登录地址",type = String.class,defaultValue = "https://login-mini.ngty556.com/Web/")
    public static String LOGIN_SEND_URL;

    @ConfigPropertyAnnotation(key = "RECHARGE_SEND_URL",description = "混服后APP转发充值地址",type = String.class,defaultValue = "https://vocher-mini.ngty556.com/Web/")
    public static String RECHARGE_SEND_URL;

    @ConfigPropertyAnnotation(key = "SQ_CHANNEL_APPID",description = "混服后手Q渠道的appid",type = String.class,defaultValue = "37huaweixyx;37oppoxyx;37qqxyx;37ucxyx;37vivoxyx;37xiaomixyx;meituan2;qqyddt")
    public static String SQ_CHANNEL_APPID;
    @ConfigPropertyAnnotation(key = "ALIPAY_REPORT_URL", description = "支付宝任务上报地址", type = String.class, defaultValue = "")
    public static String ALIPAY_REPORT_URL;
    @ConfigPropertyAnnotation(key = "ALIPAY_REPORT_SIGN_KEY", description = "支付宝任务上报Key", type = String.class, defaultValue = "")
    public static String ALIPAY_REPORT_SIGN_KEY;
    @ConfigPropertyAnnotation(key = "ALIPAY_GAME_ID", description = "支付宝上报gameid参数", type = String.class, defaultValue = "234")
    public static String ALIPAY_GAME_ID;


    @ConfigPropertyAnnotation(key = "MEI_TUAN_REPORT_URL", description = "美团任务上报地址", type = String.class, defaultValue = "")
    public static String MEI_TUAN_REPORT_URL;
    @ConfigPropertyAnnotation(key = "MEI_TUAN_REPORT_APP_SECRET", description = "美团任务上报签名Key", type = String.class, defaultValue = "42275039f85ba36b973cf3b78a4df078e1881f5bc7bc8d481fd74aa43ee6702d")
    public static String MEI_TUAN_REPORT_APP_SECRET;
    @ConfigPropertyAnnotation(key = "MEI_TUAN_REPORT_CLIENT_ID", description = "美团任务上报应用id", type = String.class, defaultValue = "mgc1czlnk8lmzqkn")
    public static String MEI_TUAN_REPORT_CLIENT_ID;

    @ConfigPropertyAnnotation(key = "IOS_RECHARGE_SWITCH", description = "ios充值开关,0为关,1为开,默认开", type = Integer.class, defaultValue = "1")
    public static int IOS_RECHARGE_SWITCH;

    @ConfigPropertyAnnotation(key = "USER_BACK_NEW_SERVER_DAY", description = "老玩家回归，引导到新服创建新号配置天数", type = Integer.class, defaultValue = "14")
    public static int USER_BACK_NEW_SERVER_DAY;

    @ConfigPropertyAnnotation(key = "MEI_TUAN_LINKAGE_SWITCH", description = "美团联动开关，0：关；1：开，默认关",type = Integer.class,defaultValue = "0")
    public static int MEI_TUAN_LINKAGE_SWITCH;

    @ConfigPropertyAnnotation(key = "MEI_TUAN_LINKAGE_SWITCH_REVIEW", description = "美团联动开关，0：关；1：开，默认关(提审服用)",type = Integer.class,defaultValue = "0")
    public static int MEI_TUAN_LINKAGE_SWITCH_REVIEW;

    @ConfigPropertyAnnotation(key = "VOUCHER_EXCHANGE_SWITCH", description = "代金券兑换开关，0：关；1：开，默认关",type = Integer.class,defaultValue = "0")
    public static int VOUCHER_EXCHANGE_SWITCH;

    @ConfigPropertyAnnotation(key = "USER_INFO_USE_REDIS", description = "玩家信息使用redis，默认不使用0，0：不使用；1：使用", type = Integer.class, defaultValue = "0")
    public static int USER_INFO_USE_REDIS;

    @ConfigPropertyAnnotation(key = "KOWLOON_VERSION_UPDATE_TIMESTAMP", description = "九龙城寨6.6版更时间点(秒)", type = Integer.class, defaultValue = "0")
    public static int KOWLOON_VERSION_UPDATE_TIMESTAMP;

    @ConfigPropertyAnnotation(key = "EXPRESSION_TYPE_9_SWITCH", description = "表情包（9类型以后）开关：9=1|10=0（1开0关）", type = String.class, defaultValue = "9=0")
    public static String EXPRESSION_TYPE_9_SWITCH;

    @ConfigPropertyAnnotation(key = "GOODS_GET_LOG_COLLECT_HTTP", description = "道具获得日志监控收集地址（海外使用）", type = String.class, defaultValue = "")
    public static String GOODS_GET_LOG_COLLECT_HTTP;

    @ConfigPropertyAnnotation(key = "HUI_PAI_LINKAGE_SWITCH",description = "徽派主场景左上角建筑彩蛋 0关1开默认关",type = Integer.class,defaultValue = "0")
    public static int HUI_PAI_LINKAGE_SWITCH;

    @ConfigPropertyAnnotation(key = "CLICKHOUSE_LOG_SERVER_URL", description = "clickhouse日志服务地址", type = String.class, defaultValue = "")
    public static String CLICKHOUSE_LOG_SERVER_URL;

    @ConfigPropertyAnnotation(key = "CLICKHOUSE_LOG_SERVER_SWITCH", description = "clickhouse日志区服上报开关 0关1开默认开", type = Integer.class, defaultValue = "1")
    public static int CLICKHOUSE_LOG_SERVER_SWITCH;

    @ConfigPropertyAnnotation(key = "CLICKHOUSE_LOG_DB_CONNECT_URL", description = "clickhouse日志库地址", type = String.class, defaultValue = "")
    public static String CLICKHOUSE_LOG_DB_CONNECT_URL;

    @ConfigPropertyAnnotation(key = "FIST_ROUND_DAYS", description = "第一轮天数", type = String.class, defaultValue = "")
    public static String FIST_ROUND_DAYS;

    @ConfigPropertyAnnotation(key = "TOKEN_BUY_REPORT_URL", description = "通宝购买数据上传URL", type = String.class, defaultValue = "")
    public static String TOKEN_BUY_REPORT_URL;


    @ConfigPropertyAnnotation(key = "CHECK_LOGIN_TOKEN_OPEN", description = "检测登录token开关", type = Integer.class, defaultValue = "0")
    public static int CHECK_LOGIN_TOKEN_OPEN;

    @ConfigPropertyAnnotation(key = "REALTY_MAIN_SKIN_DEFAULT", description = "默认商铺皮肤id", type = Integer.class, defaultValue = "1")
    public static int REALTY_MAIN_SKIN_DEFAULT;
    @ConfigPropertyAnnotation(key = "REALTY_MAIN_SKIN_PARAM", description = "商铺皮肤id配置", type = String.class, defaultValue = "0,1|1,2|2,3")
    public static String REALTY_MAIN_SKIN_PARAM;

    @ConfigPropertyAnnotation(key = "ICE_SERVER_OPEN_SERVER", description = "开放寒冬玩法的区服范围 开始区服-结束区服|开始区服-结束区服", type = String.class, defaultValue = "0-49999999|50000000-99999999")
    public static String ICE_SERVER_OPEN_SERVER;

    @ConfigPropertyAnnotation(key = "WX_XIAOZHUSHOU",description = "企微小助手 0关1开默认关",type = Integer.class,defaultValue = "0")
    public static int WX_XIAOZHUSHOU;

    @ConfigPropertyAnnotation(key = "SECOND_CMD_CHECK_TIMES", description = "检测每秒消息的异常频次", type = Integer.class, defaultValue = "800")
    public static int SECOND_CMD_CHECK_TIMES;

    public static void reloadChannelConfig(int channelId) {
        logger.info("reloadChannelConfig channel config! channelId : {}", channelId);

        HashMap<String, String> allConfigs = ConfigBussiness.getChannelConfig(channelId);
        if (!allConfigs.isEmpty()) {
            TempConfig.Load(ChannelConfig.class, allConfigs);
        }
        // 刷新下跨地区参数
        CrossChannelHelper.refresh();
    }

    public static void save() {
        logger.info("saving channel config into db!");
    }

}
